/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden
	display none !important

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */

.visuallyhidden
	border 0
	clip rect(0 0 0 0)
	// -webkit-clip-path inset(50%)
	clip-path inset(50%)
	height 1px
	margin -1px
	overflow hidden
	padding 0
	position absolute
	width 1px
	white-space nowrap

/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus
	clip auto
	// -webkit-clip-path none
	clip-path none
	height auto
	margin 0
	overflow visible
	position static
	width auto
	white-space inherit

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible
	visibility hidden

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after
	content " " /* 1 */
	display table /* 2 */

.clearfix
	 &:after
		clear both

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em)
	/* Style adjustments for viewports that meet the condition */

@media print,
	(-webkit-min-device-pixel-ratio: 1.25),
	(min-resolution: 1.25dppx),
	(min-resolution: 120dpi)
		/* Style adjustments for high resolution devices */

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   http://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print
	*, *:before, *:after
		background transparent !important
		color $printColor !important /* Black prints faster:
                                 http://www.sanbeiji.com/archives/953 */
		box-shadow none !important
		text-shadow none !important

	a, a:visited
		text-decoration underline

	a[href]:after
		content " (" attr(href) ")"

	/*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */


	abbr[title]:after
		content " (" attr(title) ")"

	a[href^="#"]:after, a[href^="javascript:"]:after
		content ""

	pre
		white-space pre-wrap !important

	pre, blockquote
		border 1px solid $blackQuoteColor
		page-break-inside avoid

	/*
     * Printing Tables:
     * http://css-discuss.incutio.com/wiki/Printing_Tables
     */

	thead
		display table-header-group

	tr, img
		page-break-inside avoid

	p, h2, h3
		orphans 3
		widows 3

	h2, h3
		page-break-after avoid
